package String;

/**
 * StringBuilder是专门用于修改字符串的APi
 * 其内部维护一个可变的char数组,并提供了用于修改字符串的相关操作,常见的有:增,删,改,插
 *         append():追加内容
 *         repalce();修改字符串部分内容
 */
public class StringByilkderDemo {
    public static void main(String[] args) {
        String str = "好好学习java";
        //内部表示一个空字符串
//        StringBuilder builder = new StringBuilder();
        /*基于给顶的字串串创建
        实际上是将给定的字符串内容复制了一份到Stringbuilder内部,并非直接对str修改.
         */
        StringBuilder builder = new StringBuilder(str);

        builder.append(",为了找个好工作");
        System.out.println("builder:"+builder);//数值变化了
        System.out.println("str:"+str);//不变的

        //修改字符串部分内容
        builder.replace(9,16,"就是为了改变世界");
        System.out.println(builder);

        //delete  删除字符串部分内容
        builder.delete(0,8);
        System.out.println(builder);

        //insert()将给定的内容插入到指定位置
        builder.insert(0,"活着");
        System.out.println(builder);
        /*
        StringBuilder 不是String类型,只是修改字符串的一个工具类,当我们使用Stringbuilder
        修改字符串内容后可以通过他的toString方法将修改后的字符串得到
         */
        str = builder.toString();
        System.out.println(str);





    }
}
